package com.fs.erp.api.basedata.vo.product;

import com.fs.erp.web.components.validation.IsCode;
import com.fs.erp.web.vo.BaseVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

@Data
public class UpdateProductPropertVo implements BaseVo, Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value = "ID",required = false)
//    @NotBlank(message = "ID不能为空")
    private String id;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号", required = true)
    @IsCode
    @NotBlank(message = "请输入编号")
    private String code;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", required = true)
    @NotNull(message = "请选择状态！")
    private Boolean available;

    /**
     * 录入类型
     */
    @ApiModelProperty(value = "录入类型", required = true)
    @NotNull(message = "请选择录入类型！")
    private Integer columnType;

    /**
     * 是否必填
     */
    @ApiModelProperty(value = "是否必填", required = true)
    @NotNull(message = "请选择是否必填！")
    private  Boolean isRequired;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", required = true)
    @NotBlank(message = "请输入名称！")
    private String name;

    /**
     * 属性类别
     */
    @ApiModelProperty(value = "属性类别", required = true)
    @NotNull(message = "请选择属性类别！")
    private Integer propertyType;

    /**
     * 类目ID
     */
    @ApiModelProperty("类目ID")
    private List<String> categoryIds;

    /**
     * 数据类型
     */
    @ApiModelProperty("数据类型")
    private String columnDataType;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String description;

}
